Modern networks have revolutionized the ways in which people obtain information. In this regard, IP data networks developed for the Internet provide an opportunity for users to interact utilizing multimedia communications. For example, a computing device with the appropriate hardware and software allows a user to send/receive video, audio, instant messages (e.g., text), and the like between other networked computing devices. Data transmitted over the IP data network is processed into a sequence of data blocks, called packets that adhere to IP protocols capable of communicating a variety of media types. With a personal computer, such as a desktop or laptop, users may establish multimedia network sessions in which different media types are communicated concurrently.
Increasingly, media-specific computing devices are being developed that are configured to transmit a media stream directly over an IP data network. For example, an IP phone implements functionality to digitize analog phone signals, partition the digitized signal into packets, and transmit the packets to another IP networked computing device. In this example, the audio data may be packetized in accordance with the Voice over Internet Protocol (“VoIP”).
In a multimedia network session, media streams (e.g., video and audio) may be transmitted between remote users. Those skilled in the art and others will recognize that systems have been developed to synchronize media streams when a user employs a single computing device to participate in the network session. However, with the development of media-specific computing devices such as IP phones, a user may employ multiple computing devices to participate in a network session. For example, a user may employ a system configuration where a desktop computer is closely associated with an IP phone. The user's preferences may dictate that audio data be sent/received using the IP phone while video data is sent/received using the desktop computer. In this regard, existing systems are unable to reliably synchronize media streams that are communicated across multiple computing devices.